package com.commerce.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.commerce.common.utils.PageResult;
import com.commerce.common.entity.Order;


public interface OrderService extends IService<Order> {

    /**
     * 创建订单
     */
    Order createOrder(Order order);

    /**
     * 获取订单分页列表
     */
    PageResult<Order> getPageList(int page, int size, Long userId, Integer status, String orderNo);

    /**
     * 获取订单详情
     */
    Order getOrderDetail(Long id);

    /**
     * 更新订单状态
     */
    Order updateOrderStatus(Long id, Integer status);

    /**
     * 取消订单
     */
    Order cancelOrder(Long id);

    /**
     * 支付订单
     */
    Order payOrder(Long id);

    /**
     * 确认收货
     */
    Order confirmReceive(Long id);

    /**
     * 获取用户订单列表
     */
    PageResult<Order> getUserOrders(Long userId, int page, int size, Integer status);

    /**
     * 申请退款
     */
    Order refundOrder(Long id);
}